package cool.webstudy.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cool.webstudy.admin.model.dto.attackrecord.CreateAttackRecordDTO;
import cool.webstudy.admin.model.dto.attackrecord.PaginationQueryAttackRecordListDTO;
import cool.webstudy.admin.model.vo.attackrecord.PaginationQueryAttackRecordListVO;
import cool.webstudy.admin.model.vo.attackrecord.QueryTeamAttackRecordListVO;

import java.util.List;

/**
 * @author 莫振双
 * @date 2025/4/6 16:48
 * @description: 攻击记录服务接口
 */
public interface AttackRecordService {
    /**
     * @param dto 创建攻击记录参数
     * @description: 创建攻击记录
     */
    void createAttackRecord(CreateAttackRecordDTO dto);
    /**
     * @param compUnCode 赛事业务主键
     * @param teamUnCode 队伍业务主键
     * @param flag 攻击记录flag
     * @description: 判断攻击记录是否存在
     */
    Boolean isExistRecord(String compUnCode, String teamUnCode, String flag);
    /**
     * @param dto 分页查询攻击记录列表参数
     * @description: 分页查询攻击记录列表
     */
    Page<PaginationQueryAttackRecordListVO> paginationQueryAttackRecordList(PaginationQueryAttackRecordListDTO dto);
    /**
     * @param compUnCode   赛事业务主键
     * @return List<QueryTeamAttackRecordListVO>
     * @description: 根据赛事业务主键查询队伍攻击记录列表
     */
    List<QueryTeamAttackRecordListVO> queryTeamAttackRecordListByCompUnCode(String compUnCode);
}
